package aventuraespacial;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.AffineTransform;

public class EscudoProtector extends Poder {

	/*************************  CONSTANTES DE LA CLASE  ****************************/
	
	static final int ANCHO_PODER=19;
	static final int ALTO_PODER=21;
    static final String NOMBRE_ESCUDO="escudo.png";
	
	/*************************  CONSTRUCTOR DE ESCUDO  ****************************/ 
	
	public EscudoProtector(double x, double y, double velocidad, double angulo) {
		super(x, y, velocidad, angulo);
		setImagen(cargarImagen(NOMBRE_ESCUDO));
	}
	
	/*************************  IMPLEMENTACION  DE METODOS ABSTRACTOS ************************/

	@Override
	public void asignarPoder(Nave nave) {
		nave.setEscudo(true);
		
	}

	

	@Override
	public boolean fueraDePantalla() {
		if (this.x<(0) || this.x> (EspacioExterior.ANCHO_PANTALLA) ) return true;
        else if ( this.y< (0) || this.y> (EspacioExterior.ALTO_PANTALLA)) return true;
            else return false;
	}

	@Override
	public Rectangle getBordes() {
		int mitadAncho= (int) (ANCHO_PODER/2 );
		int mitadAlto=(int) (ALTO_PODER/2) ;
		return new Rectangle((int)this.getX()-mitadAncho,(int)this.getY()-mitadAlto,ANCHO_PODER,ALTO_PODER);
	}

	@Override
	public void dibujar(Graphics2D g) {
		AffineTransform identidad= new AffineTransform();
		AffineTransform trans= new AffineTransform();
		/*
		g.setTransform(identidad);
		g.translate(getX()-(Poder.ANCHO_PODER/2), getY()-(Poder.ALTO_PODER/2));
		g.setColor(Color.DARK_GRAY);
		g.fill(getForma());
		g.setTransform(identidad);
		g.setColor(Color.BLACK);
		g.drawRect((int)getX(),(int) getY(), 1, 1);
		*/
		if(ObjetoEspacial.isBordesActivados()){
			g.setTransform(identidad);
			g.setColor(Color.WHITE);
			g.draw(getBordes());
		}
		
		trans.setTransform(identidad);
		trans.translate(x-(ANCHO_PODER/2), y-(ALTO_PODER/2));
		//trans.scale(1,1);
		g.drawImage(getImagen(),trans,null);
		
	}
	
}
